﻿using System;

namespace SharpSqlAnalyzer.nodes
{
	// Token: 0x020002C8 RID: 712
	public class TDropTableSqlNode : TParseTreeNode
	{
		// Token: 0x17000511 RID: 1297
		// (get) Token: 0x0600180B RID: 6155 RVA: 0x00328CF4 File Offset: 0x00326EF4
		public virtual bool Cascade
		{
			get
			{
				return this.cascade;
			}
		}

		// Token: 0x17000512 RID: 1298
		// (get) Token: 0x0600180C RID: 6156 RVA: 0x00328CFC File Offset: 0x00326EFC
		public virtual bool Restrict
		{
			get
			{
				return this.restrict;
			}
		}

		// Token: 0x17000513 RID: 1299
		// (set) Token: 0x0600180D RID: 6157 RVA: 0x00328D04 File Offset: 0x00326F04
		public virtual TSourceToken DropBehavior
		{
			set
			{
				if (value == null)
				{
					return;
				}
				if (value.ToString().Equals("cascade", StringComparison.CurrentCultureIgnoreCase))
				{
					this.cascade = true;
					return;
				}
				if (value.ToString().Equals("restrict", StringComparison.CurrentCultureIgnoreCase))
				{
					this.restrict = true;
				}
			}
		}

		// Token: 0x17000514 RID: 1300
		// (get) Token: 0x0600180F RID: 6159 RVA: 0x00328D48 File Offset: 0x00326F48
		// (set) Token: 0x0600180E RID: 6158 RVA: 0x00328D3F File Offset: 0x00326F3F
		public virtual bool IfExists
		{
			get
			{
				return this.ifExists;
			}
			set
			{
				this.ifExists = value;
			}
		}

		// Token: 0x17000515 RID: 1301
		// (get) Token: 0x06001810 RID: 6160 RVA: 0x00328D50 File Offset: 0x00326F50
		public virtual TObjectNameList TableNameList
		{
			get
			{
				return this.tableNameList;
			}
		}

		// Token: 0x06001811 RID: 6161 RVA: 0x00328D58 File Offset: 0x00326F58
		public override void init(object arg1)
		{
			if (arg1 is TObjectName)
			{
				this.tableName = (TObjectName)arg1;
				this.tableName.ObjectType = 3;
				return;
			}
			if (arg1 is TObjectNameList)
			{
				this.tableNameList = (TObjectNameList)arg1;
				for (int i = 0; i < this.tableNameList.size(); i++)
				{
					this.tableNameList.getObjectName(i).ObjectType = 3;
				}
			}
		}

		// Token: 0x17000516 RID: 1302
		// (get) Token: 0x06001812 RID: 6162 RVA: 0x00328DC2 File Offset: 0x00326FC2
		public virtual TObjectName TableName
		{
			get
			{
				return this.tableName;
			}
		}

		// Token: 0x04001845 RID: 6213
		private bool cascade;

		// Token: 0x04001846 RID: 6214
		private bool restrict;

		// Token: 0x04001847 RID: 6215
		private bool ifExists;

		// Token: 0x04001848 RID: 6216
		private TObjectName tableName;

		// Token: 0x04001849 RID: 6217
		private TObjectNameList tableNameList;
	}
}
